/**************************************************************************
*   Copyleft 2009 by        											  *
*	Iwanicki Krzysztof													  *
*   <www.gamma.mini.pw.edu.pl/~iwanickik>		                          *
*                                                                         *
*   This program is free software; you can redistribute it and/or modify  *
*   it under the terms of the GNU General Public License as published by  *
*   the Free Software Foundation; either version 2 of the License, or     *
*   (at your option) any later version.                                   *
*                                                                         *
*   This program is distributed in the hope that it will be useful,       *
*   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
*   GNU General Public License for more details.                          *
***************************************************************************/
#include "./vGlVertexBufferManager.h"
#include "./vGlSoftwareVertexBuffer.h"
#include "./vGlHardwareVertexBuffer.h"

namespace Vendetta {
	vGlVertexBufferManager::vGlVertexBufferManager(): vVertexBufferManager() {
	
	}
	
	vGlVertexBufferManager::~vGlVertexBufferManager() {
	
	}

	vVertexBuffer* vGlVertexBufferManager::apiNewVertexBuffer(vUInt uiSize, vUInt32 ui32Format, 
		vVertexBuffer::eVertexBufferPrimitiveType ePrimitiveType,
		vVertexBufferManager::eVertexBufferType eType,
		vVertexBuffer::eVertexBufferUsage eUsage) {
			switch(eType) {
				case VVBT_SOFTWARE:
				default:
					return new vGlSoftwareVertexBuffer(uiSize, ui32Format, ePrimitiveType, eUsage);
				case VVBT_HARDWARE:
					return new vGlHardwareVertexBuffer(uiSize, ui32Format, ePrimitiveType, eUsage);
			}

	}

	/************************************************************************/
	/* Disabled                                                             */
	/************************************************************************/
	vGlVertexBufferManager::vGlVertexBufferManager(const vGlVertexBufferManager& buffer) {
		V_CHECK_MSG(0, "Some tries to call vGlVertexBufferManager copy ctor."); 
	}

	vGlVertexBufferManager& vGlVertexBufferManager::operator=(const vGlVertexBufferManager& buffer) {
		V_CHECK_MSG(0, "Some tries to call vGlVertexBufferManager operator=."); 

		return *this;
	}
	/************************************************************************/
}